home *** CD-ROM | disk | FTP | other *** search
- /*------------------------------------------------------------------------------
- #
- # Apple Macintosh Developer Technical Support
- #
- # Offscreen Buffer Sample Application
- #
- # OffSample
- #
- # POffSample.h - Rez Include Source
- #
- # Copyright © 1989 Apple Computer, Inc.
- # All rights reserved.
- #
- # Versions:
- # 1.00 04/89
- # 1.01 06/92
- #
- # Components:
- # OffSample.p April 1, 1989
- # OffSample.r April 1, 1989
- # OffSample.h April 1, 1989
- # OffSample.rsrc April 1, 1989
- # POffSample.make April 1, 1989
- #
- # Requirements:
- # Offscreen.p April 1, 1989
- # Offscreen.inc1.p April 1, 1989
- # UFailure.p November 1, 1988
- # UFailure.inc1.p November 1, 1988
- # UFailure.a November 1, 1988
- #
- # OffSample demonstrates the usage of the Offscreen
- # unit. It shows how to use offscreen pixmaps and
- # bitmaps to produce flicker-free updating with a
- # minimum of re-structuring of code. OffSample attempts
- # to reduce the amount of 'knowledge' that it has of
- # the offscreen structure so as to minimize its
- # dependence on that unit.
- #
- # OffSample emphasizes using the Offscreen unit; it
- # is not intended to be viewed as a complete application
- # from which to base some larger effort. Instead, its
- # method of using offscreen bitmaps and pixmaps should
- # be studied and adapted to other applications that
- # desire features such as flicker-free updating.
- #
- ------------------------------------------------------------------------------*/
-
- #define kMinSize 75 /* application's minimum size (in K) */
-
- #define kPrefSize 245 /* application's preferred size (in K) */
-
- #define rMenuBar 128 /* application's menu bar */
- #define rAboutAlert 128 /* about alert */
- #define rUserAlert 129 /* error user alert */
- #define rWindow 128 /* application's window */
-
- /* kSysEnvironsVersion is passed to SysEnvirons to tell it which version of the
- SysEnvRec we understand. */
-
- #define kSysEnvironsVersion 1
-
- /* kOSEvent is the event number of the suspend/resume and mouse-moved events sent
- by MultiFinder. Once we determine that an event is an osEvent, we look at the
- high byte of the message sent to determine which kind it is. To differentiate
- suspend and resume events we check the resumeMask bit. */
-
- #define kOSEvent app4Evt /* event used by MultiFinder */
- #define kSuspendResumeMessage 1 /* high byte of suspend/resume event message */
- #define kResumeMask 1 /* bit of message field for resume vs. suspend */
- #define kMouseMovedMessage 0xFA /* high byte of mouse-moved event message */
-
- #define sErrStrings 128
-
- #define kNoBackBuff 128
- #define kNoEditBuff 129
- #define kTitle 130
- #define kColorPrompt 131
- #define kNoWantBack 132
- #define kNoWantEdit 133
-
- /* The following constants are used to identify menus and their items. The menu IDs
- have an "m" prefix and the item numbers within each menu have an "i" prefix. */
-
- #define mApple 128 /* Apple menu */
- #define iAbout 1
-
- #define mFile 129 /* File menu */
- #define iNew 1
- #define iClose 4
- #define iQuit 12
-
- #define mEdit 130 /* Edit menu */
- #define iUndo 1
- #define iCut 3
- #define iCopy 4
- #define iPaste 5
- #define iClear 6
-
- #define mShape 131 /* Shape menu */
-
- #define mSpecial 132 /* Special menu */
- #define iUseBack 1
- #define iUseEdit 2
- #define iPickColor 4
-
- /* kTopLeft - This is for positioning the Disk Initialization dialogs. */
-
- #define kDITop 0x0050
- #define kDILeft 0x0070
-
- /* kMinHeap - This is the minimum result from the following equation:
-
- ORD(GetApplLimit) - ORD(ApplicZone)
-
- for the application to run. It will insure that enough memory will
- be around for reasonable-sized scraps, FKEYs, etc. to exist with the
- application, and still give the application some 'breathing room'.
- To derive this number, we ran under a MultiFinder partition that was
- our requested minimum size, as given in the 'SIZE' resource. */
-
- #define kMinHeap 66 * 1024
-
- /* kMinSpace - This is the minimum result from PurgeSpace, when called
- at initialization time, for the application to run. This number acts
- as a double-check to insure that there really is enough memory for the
- application to run, including what has been taken up already by
- pre-loaded resources, the scrap, code, and other sundry memory blocks. */
-
- #define kMinSpace 49 * 1024
-
- /* kExtremeNeg and kExtremePos are used to set up wide open rectangles and regions. */
-
- #define kExtremeNeg -32768
- #define kExtremePos 32767 - 1 /* required to address an old region bug */
-
- /* these #defines are used to set enable/disable flags of a menu */
-
- #define AllItems 0b1111111111111111111111111111111 /* 31 flags */
- #define NoItems 0b0000000000000000000000000000000
- #define MenuItem1 0b0000000000000000000000000000001
- #define MenuItem2 0b0000000000000000000000000000010
- #define MenuItem3 0b0000000000000000000000000000100
- #define MenuItem4 0b0000000000000000000000000001000
- #define MenuItem5 0b0000000000000000000000000010000
- #define MenuItem6 0b0000000000000000000000000100000
- #define MenuItem7 0b0000000000000000000000001000000
- #define MenuItem8 0b0000000000000000000000010000000
- #define MenuItem9 0b0000000000000000000000100000000
- #define MenuItem10 0b0000000000000000000001000000000
- #define MenuItem11 0b0000000000000000000010000000000
- #define MenuItem12 0b0000000000000000000100000000000
-